package com.cnap.multiclouldmgmt.model.k8sMonitorModels;

import com.cnap.multiclouldmgmt.model.K8sClusterInfoModel;
import com.cnap.multiclouldmgmt.model.k8sModels.NodeModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

/**
 * 监控或者算法需要的数据
 * @author dyq
 */
@ApiModel(value = "com.cnap.multiclouldmgmt.model.k8sMonitorModels.K8sClusterAlgInfoModel",description = "算法所需要的集群的参数")
public class K8sClusterAlgInfoModel extends K8sClusterInfoModel {

    //集群平均cpu利用率，注意是百分比小数格式
    @ApiModelProperty(value = "集群平均cpu利用率，注意是百分比小数格式")
    private double cpuUsage;

    //集群cpu使用
    @ApiModelProperty(value = "集群cpu使用")
    private double clusterCpuUseNum;

    //集群cpu额度
    @ApiModelProperty(value = "集群cpu额度")
    private int clusterCpuNum;

    //内存使用，mb单位
    @ApiModelProperty(value = "cpu使用，mb单位")
    private int clusterMemUseByMb;

    //内存总额度，mb单位
    @ApiModelProperty(value = "内存总额度，mb单位")
    private int clusterMemQuotaByMb;

    //硬盘使用，GB单位
    @ApiModelProperty(value = "硬盘使用，GB单位")
    private int clusterDiskUseByGb;

    //硬盘配额，GB单位
    @ApiModelProperty(value = "硬盘配额，GB单位")
    private int clusterDiskQuotaByGb;

    //当前带宽
    @ApiModelProperty(value = "当前带宽")
    private int clusterNetCurrentBandwidth;

    //总带宽
    @ApiModelProperty(value = "总带宽")
    private int clusterNetBandwidth;

    //node数量
    @ApiModelProperty(value = "node数量")
    private int nodeNum;

    //nodeModels
    @ApiModelProperty(value = "nodeModels")
    private List<NodeModel> nodeModels;

    //gpu使用率
    @ApiModelProperty(value = "gpuUsage")
    private double gpuUsage;

    //gpuTemp
    @ApiModelProperty(value = "gpuTemp")
    private double gpuTemp;

    //gpuMemUsage
    @ApiModelProperty(value = "gpuMemUsage")
    private double gpuMemUsage;

    /**
     * get
     *
     * @return GpuUsage
     */
    public double getGpuUsage() {
        return gpuUsage;
    }

    /**
     * set
     *
     * @param gpuUsage gpuUsage
     */
    public void setGpuUsage(double gpuUsage) {
        this.gpuUsage = gpuUsage;
    }

    /**
     * get
     *
     * @return GpuTemp
     */
    public double getGpuTemp() {
        return gpuTemp;
    }

    /**
     * set
     *
     * @param gpuTemp gpuTemp
     */
    public void setGpuTemp(double gpuTemp) {
        this.gpuTemp = gpuTemp;
    }

    /**
     * get
     *
     * @return GpuMemUsage
     */
    public double getGpuMemUsage() {
        return gpuMemUsage;
    }

    /**
     * set
     *
     * @param gpuMemUsage gpuMemUsage
     */
    public void setGpuMemUsage(double gpuMemUsage) {
        this.gpuMemUsage = gpuMemUsage;
    }

    /**
     * get
     *
     * @return CpuUsage
     */
    public double getCpuUsage() {
        return cpuUsage;
    }

    /**
     * set
     *
     * @param cpuUsage cpuUsage
     */
    public void setCpuUsage(double cpuUsage) {
        this.cpuUsage = cpuUsage;
    }

    /**
     * get
     *
     * @return ClusterCpuUseNum
     */
    public double getClusterCpuUseNum() {
        return clusterCpuUseNum;
    }

    /**
     * set
     *
     * @param clusterCpuUseNum clusterCpuUseNum
     */
    public void setClusterCpuUseNum(double clusterCpuUseNum) {
        this.clusterCpuUseNum = clusterCpuUseNum;
    }

    /**
     * get
     *
     * @return ClusterCpuNum
     */
    public int getClusterCpuNum() {
        return clusterCpuNum;
    }

    /**
     * set
     *
     * @param clusterCpuNum clusterCpuNum
     */
    public void setClusterCpuNum(int clusterCpuNum) {
        this.clusterCpuNum = clusterCpuNum;
    }

    /**
     * get
     *
     * @return ClusterMemUseByMb
     */
    public int getClusterMemUseByMb() {
        return clusterMemUseByMb;
    }

    /**
     * set
     *
     * @param clusterMemUseByMb clusterMemUseByMb
     */
    public void setClusterMemUseByMb(int clusterMemUseByMb) {
        this.clusterMemUseByMb = clusterMemUseByMb;
    }

    /**
     * get
     *
     * @return ClusterMemQuotaByMb
     */
    public int getClusterMemQuotaByMb() {
        return clusterMemQuotaByMb;
    }

    /**
     * set
     *
     * @param clusterMemQuotaByMb clusterMemQuotaByMb
     */
    public void setClusterMemQuotaByMb(int clusterMemQuotaByMb) {
        this.clusterMemQuotaByMb = clusterMemQuotaByMb;
    }

    /**
     * get
     *
     * @return ClusterDiskUseByGb
     */
    public int getClusterDiskUseByGb() {
        return clusterDiskUseByGb;
    }

    /**
     * set
     *
     * @param clusterDiskUseByGb clusterDiskUseByGb
     */
    public void setClusterDiskUseByGb(int clusterDiskUseByGb) {
        this.clusterDiskUseByGb = clusterDiskUseByGb;
    }

    /**
     * get
     *
     * @return ClusterDiskQuotaByGb
     */
    public int getClusterDiskQuotaByGb() {
        return clusterDiskQuotaByGb;
    }

    /**
     * set
     *
     * @param clusterDiskQuotaByGb clusterDiskQuotaByGb
     */
    public void setClusterDiskQuotaByGb(int clusterDiskQuotaByGb) {
        this.clusterDiskQuotaByGb = clusterDiskQuotaByGb;
    }

    /**
     * get
     *
     * @return ClusterNetCurrentBandwidth
     */
    public int getClusterNetCurrentBandwidth() {
        return clusterNetCurrentBandwidth;
    }

    /**
     * set
     *
     * @param clusterNetCurrentBandwidth clusterNetCurrentBandwidth
     */
    public void setClusterNetCurrentBandwidth(int clusterNetCurrentBandwidth) {
        this.clusterNetCurrentBandwidth = clusterNetCurrentBandwidth;
    }

    /**
     * get
     *
     * @return ClusterNetBandwidth
     */
    public int getClusterNetBandwidth() {
        return clusterNetBandwidth;
    }

    /**
     * set
     *
     * @param clusterNetBandwidth clusterNetBandwidth
     */
    public void setClusterNetBandwidth(int clusterNetBandwidth) {
        this.clusterNetBandwidth = clusterNetBandwidth;
    }

    /**
     * get
     *
     * @return NodeNum
     */
    public int getNodeNum() {
        return nodeNum;
    }

    /**
     * set
     *
     * @param nodeNum nodeNum
     */
    public void setNodeNum(int nodeNum) {
        this.nodeNum = nodeNum;
    }

    /**
     * get
     *
     * @return NodeModels
     */
    public List<NodeModel> getNodeModels() {
        return nodeModels;
    }

    /**
     * set
     *
     * @param nodeModels nodeModels
     */
    public void setNodeModels(List<NodeModel> nodeModels) {
        this.nodeModels = nodeModels;
    }
}
